import express from 'express';
import cors from 'cors';
import { initDatabase } from './db.js';
import authRoutes from './routes/authRoutes.js';
import agentRoutes from './routes/agentRoutes.js';

// 初始化Express应用
const app = express();
const PORT = process.env.PORT || 3001;

// 中间件
app.use(cors()); // 允许跨域请求
app.use(express.json()); // 解析JSON请求体

// 路由
app.use('/api/auth', authRoutes);
app.use('/api/agents', agentRoutes);

// 健康检查路由
app.get('/api/health', (req, res) => {
  res.json({ status: 'ok', message: 'Server is running' });
});

// 启动服务器
const startServer = async () => {
  try {
    console.log("正在启动服务器...");
    
    // 初始化数据库
    await initDatabase();
    console.log("数据库初始化完成");
    
    // 启动服务器
    app.listen(PORT, () => {
      console.log(`服务器成功运行在端口: ${PORT}`);
      console.log(`可以通过 http://localhost:${PORT}/api/health 检查服务器状态`);
    });
  } catch (error) {
    console.error('服务器启动失败:', error);
    // 添加适当的退出代码以表示错误
    process.exit(1);
  }
};

startServer(); 